#include <iostream>
#include <list>
using namespace std;
//list 双向链表，list不可以随机存取元素，所以不支持at.(pos)函数与[]操作符
void my_list()
{
	list<int> l;
	cout << "list的大小:" << l.size() << endl;
	for (int i = 0; i < 10; i++)
	{
		l.push_back(i);//在尾部插入
		l.push_front(i);//在头部插入
	}
	list<int>::iterator it = l.begin();
	it++;
	it++;
	//it = it + 5;//不支持
	l.insert(it, 120);//插入元素
	l.pop_front();//删除头部元素
	l.pop_back();//删除尾部元素
	l.erase(l.begin(), ++(++(l.begin())));//区间删除(包含头不包含尾,如果头尾相同，也不会删除)
	l.erase(l.begin());//删除指定位置的元素
	//赋值
	l.front() = 23;
	l.back() = 80;
	for (list<int>::iterator it = l.begin(); it != l.end(); it++)
	{
		cout << *it << " ";
	}

	cout << endl << "头:" << l.front() << "\n尾:" << l.back() << "";

}
void main6()
{
	my_list();
	system("pause");
	return;
}